using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ShowFPS")]
	public class ShowFPS : MonoBehaviour
	{
		public float m_UpdateInterval => method_2<float>("m_UpdateInterval");

		public double m_LastInterval => method_2<double>("m_LastInterval");

		public int frames => method_2<int>("frames");

		public bool m_FrameCountActive => method_2<bool>("m_FrameCountActive");

		public float m_FrameCountTime => method_2<float>("m_FrameCountTime");

		public float m_FrameCountLastTime => method_2<float>("m_FrameCountLastTime");

		public int m_FrameCount => method_2<int>("m_FrameCount");

		public bool m_verbose => method_2<bool>("m_verbose");

		public string m_fpsText => method_4("m_fpsText");

		public ShowFPS(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ShowFPS(IntPtr address)
			: this(address, "ShowFPS")
		{
		}

		public static ShowFPS Get()
		{
			return MonoClass.smethod_15<ShowFPS>(TritonHs.MainAssemblyPath, "", "ShowFPS", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void StartFrameCount()
		{
			method_8("StartFrameCount");
		}

		public void StopFrameCount()
		{
			method_8("StopFrameCount");
		}

		public void ClearFrameCount()
		{
			method_8("ClearFrameCount");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void OnHudOptionChanged(Option option, object prevValue, bool existed, object userData)
		{
			method_8("OnHudOptionChanged", option, prevValue, existed, userData);
		}

		public void UpdateEnabled()
		{
			method_8("UpdateEnabled");
		}
	}
}
